Computer software applications may be accessed by a variety of devices remotely via a network. Generally, such applications require adaptation for operation with the particular devices requesting or accessing the application. Adaptation is typically performed either when designing/implementing or deploying an application. However, an application may be adapted for a particular requesting device “on demand” (i.e., at the time of the actual request). Furthermore, the type of accessing device may be known or unknown to the application, at the time of a request.
For the case of a known type of requesting device, the current approach is to adapt and store the entire application prior to access, which disadvantageously results in significant resource utilization such as processing time and memory.
For the case of unknown device types, the current approach is also to adapt the entire application. In addition to the aforementioned disadvantages associated with known device types, other disadvantages such as an increased response time (user waiting time) and an increased difficulty to support in terms of Quality of Service (QoS) also exist in relation to unknown device types.
U.S. patent application No. 2001/0049286A1, entitled “Device registry server for automatic connection and data exchange between pervasive devices and backend systems” was published on Dec. 6, 2001 in the name of Hansmann, et al. and is assigned to International Business Machines (IBM) Corporation. The specification relates to communication improvements between a mobile device and backend system applications. However, a backend application that has already been customised for use with the mobile device is assumed.
A paper by Indulska et al., entitled “Vertical handover based adaption for multimedia applications in pervasive systems”, is included in the Proceedings of the Joint International Workshop on Interactive Distributed Multimedia Systems and Protocols for Multimedia Systems (IDMS/PROMS 2002). However, the form of adaptation described is context-based and uses context information relating to user devices, user location, application requirements and network environment.
A need exists for incremental adaptation of computer software applications in response to user requests.